package com.mjkj.demo.constant;

import org.springframework.stereotype.Component;

/**
 * 常量类
 * @author cwh
 * @date 2023/1/8
 **/
@Component
public class Constants {


    /**
     * 茶事作业状态常量
     */
    public static final Integer COMPLETE = 1;//已完成
    public static final Integer ONGOING = 2;//正在进行
    public static final Integer UNFINISHED = 3;//未完成

    public static final String CAMERA = "camera";
    public static final String SENSOR = "sensor";
    public static final String CONTROL = "control";
    public static final String IOT = "iot";
    public static final String ALL = "all";

    /**
     * 状态，0-使用，1-禁用
     */
    public static final int AVAILABLE = 0;
    public static final int DISABLE = 1;


    /**
     * 默认流程的产品id
     */
    public static final int DEFAULT_PRODUCT_ID = 0;

    /**
     * 默认流程的产品id
     */
    public static final int DEFAULT_ESTIMATEDSTARTDATE_DAY = -18;


    /**
     *工序
     */
    public static final String DRIVE_POWER = "驱动电源";
    public static final String TOGGLE_SWITCH = "拨动开关板";
    public static final String ASSEMBLY_PREPARATION = "组装准备";
    public static final String ASSEMBLY = "组装";
    public static final String PACKING = "包装";
    public static final String BASIC_PROCUREMENT = "基础采购";
    public static final String ORGANIZE_PROCUREMENT = "组装采购";
    public static final String PACKAGING_PROCUREMENT = "包装采购";
    public static final String OUTSOURCE = "外包";
    public static final String START = "开始";
    public static final String END = "结束";


    public static final Long DRIVE_POWER_ID = 1L;
    public static final Long TOGGLE_SWITCH_ID = 2L;
    public static final Long ASSEMBLY_PREPARATION_ID = 3L;
    public static final Long ASSEMBLY_ID = 4L;
    public static final Long PACKING_ID = 5L;
    public static final Long BASIC_PROCUREMENT_ID = 6L;
    public static final Long ORGANIZE_PROCUREMENT_ID = 7L;
    public static final Long PACKAGING_PROCUREMENT_ID = 8L;
    public static final Long OUTSOURCE_ID = 9L;


    /**
     * 用户权限对应的角色key
     * SUPER_ADMIN                超级管理员
     * SYSTEM_ADMIN               系统管理员
     * GENERAL_ADMIN              普通管理员
     */
    public static final String SUPER_ADMIN = "super_admin";
    public static final String SYSTEM_ADMIN = "system_admin";
    public static final String GENERAL_ADMIN = "general_admin";


    public static final Long SUPER_ADMIN_ID = 1L;
    public static final Long SYSTEM_ADMIN_ID = 2L;
    public static final Long GENERAL_ADMIN_ID = 3L;

    /**
     * 默认企业id
     */
    public static final Long DEFAULT_ENTERPRISE_ID = 0L;

    public static final String REDIS_ADMIN_KEY = "admin_key";
    public static final String REDIS_ENTERPRISE_KEY = "enterprise_key";
    public static final String REDIS_ADMIN_ENTERPRISE_KEY = "admin_enterprise_key";
    public static final String REDIS_ROLE_ID_KEY = "role_id_key";
    public static final String REDIS_MENU_LIST_KEY = "menu_list_key";
    public static final String REDIS_PRODUCT_LIST_KEY = "product_list_key";
    public static final String REDIS_PROCEDURE_LIST_KEY = "procedure_list_key";
    public static final String REDIS_DEFAULT_PROCESS_LIST_KEY = "default_process_list_key";
    public static final String REDIS_MAX_PROCUREMENT_KEY = "max_procurement_key";
    public static final String REDIS_USERNAME_LOGIN_KEY = "username_login_key";
    public static final String REDIS_LOGIN_ID_KEY = "login_id_key";
    public static final String REDIS_LOGIN_STATUS_KEY = "login_status_key";
    public static final String REDIS_LOGIN_ROLE_CODE_KEY = "login:role_code:key";
    public static final String REDIS_LOGIN_PERMISSION_CODE_KEY = "login:Permission_code:key";

    /**
     * 企业审核类型
     * 新增企业为1
     * 更新企业为2
     */
    public static final int ADD_ENTERPRISE = 1;
    public static final int UPDATE_ENTERPRISE = 2;
    /**
     * 企业审核管理员
     */
    public static final int GENERAL_ADMIN_ENTERPRISE = 1;
    public static final int SUPER_ADMIN_ENTERPRISE = 2;
    /**
     * 企业审核结果
     * null---------------------------未审核
     */
    public static final String AUDIT_GENERAL_PASS = "管理员通过";
    public static final String AUDIT_PASS = "通过";
    public static final String AUDIT_REFUSE = "拒绝";

    /**
     * 文件保存路径
     *
     * ORGANIZATION_FILE 组织机构文件
     * MANAGEMENT_SYSTEM_FILE 管理系统文件
     * GOAL_PLANNING_FILE 目标计划文件
     * ENTERPRISE_BUSINESS_LICENSE 企业营业执照
     * ENTERPRISE_LOGO 企业logo
     * RESPONSIBILITY_ASSESSMENT 责任考核
     * PERSONNEL_TRAINING 全员培训
     * RISK_CONTROL 风险管控
     */
    public static final String IMAGE_FILE = "/file/image";
    public static final String ORGANIZATION_FILE = "/file/organization";
    public static final String MANAGEMENT_SYSTEM_FILE = "/file/managementSystem";
    public static final String GOAL_PLANNING_FILE = "/file/goalPlanning";
    public static final String ENTERPRISE_BUSINESS_LICENSE = "/file/enterprise/businessLicense";
    public static final String ENTERPRISE_LOGO = "/file/enterprise/logo";
    public static final String RESPONSIBILITY_ASSESSMENT_FILE = "/file/responsibilityAssessment";
    public static final String PERSONNEL_TRAINING_FILE = "/file/personnelTraining";
    public static final String RISK_CONTROL_FILE = "/file/riskControl";
    public static final String HIDDEN_DANGER_DETECTION_FILE = "/file/hiddenDangerDetection";
    public static final String OCCUPATIONAL_HEALTH_FILE = "/file/occupationalHealth";
    public static final String EQUIPMENT_FACILITIES_FILE = "/file/equipmentFacilities";
    public static final String TRISIMULTANEITY_FILE = "/file/trisimultaneity";
    public static final String LEASE_BY_CONTRACT_FILE = "/file/leaseByContract";
    public static final String EMERGENCY_MANAGEMENT_FILE = "/file/emergencyManagement";
    public static final String SPECIAL_ACTION_FILE = "/file/specialAction";
    public static final String ACCIDENT_MANAGEMENT_FILE = "/file/accidentManagement";
    public static final String LAW_REGULATIONS_FILE = "/file/lawRegulations";
    public static final String BULLETIN_BOARD_FILE = "/file/bulletinBoard";
    public static final String CHEMICAL_MANAGEMENT_FILE = "/file/chemicalManagement";
    public static final String CONSULTATION_PICTURE = "/file/consultation/picture";
    public static final String QUESTION_TEMPLATE_FILE = "/file/template/question.xlsx";
    public static final String EMPLOYEE_TEMPLATE_FILE = "/file/template/employee-template.xlsx";



    /**
     * 企业输入要素文件路径
     *
     * CONFERENCE_FILE            安全会议文件路径
     *
     */

    public static final String DAILY_FILE = "/file/daily";
    public static final String WEEKLY_FILE = "/file/weekly";
    public static final String MONTHLY_FILE = "/file/monthly";






    /**
     * 问题咨询回复状态
     *
     * NO_REPLY              未回复
     * REPLY                 已回复
     */
    public static final int REPLY = 1;
    public static final int NO_REPLY = 0;

    /**
     * 问题咨询消息类型
     *
     * TEXT                    文字
     * PICTURE                 图片
     */
    public static final int TEXT = 1;
    public static final int PICTURE = 2;

    /**
     * 问题咨询消息回复类型
     *
     * SENDER                   发送方
     * RECEIVER                 接收方
     */
    public static final int SENDER = 1;
    public static final int RECEIVER = 2;

    /**
     * 员工在职状态
     *
     * ON_JOB                   在职
     * LEAVE_JOB                离职
     */
    public static final int ON_JOB = 1;
    public static final int LEAVE_JOB = 0;

    /**
     * 主要设备状态
     *
     * USE_EQUIPMENT                    使用中
     * NO_USER_EQUIPMENT                未使用
     */
    public static final int USE_EQUIPMENT = 1;
    public static final int NO_USER_EQUIPMENT = 0;


    /**
     * 员工练习状态
     *
     * EXERCISE_START                    开始
     * EXERCISE_PAUSE                    暂停
     * EXERCISE_END                      结束
     */
    public static final int EXERCISE_START = 1;
    public static final int EXERCISE_PAUSE = 2;
    public static final int EXERCISE_END = 3;

    /**
     * 题目类型
     *
     * SINGLE_OPTION                    单选
     * MULTIPLE_SELECTION               多选
     * JUDGMENT                         判断
     */
    public static final int SINGLE_OPTION = 1;
    public static final int MULTIPLE_SELECTION = 2;
    public static final int JUDGMENT = 3;

    /**
     * 考试题目类型的题数
     *
     * SINGLE_OPTION_NUM                    单选
     * MULTIPLE_SELECTION_NUM               多选
     * JUDGMENT_NUM                         判断
     */
    public static final int SINGLE_OPTION_NUM = 35;
    public static final int MULTIPLE_SELECTION_NUM = 10;
    public static final int JUDGMENT_NUM = 35;


//    /**
//     * 模板文件保存路径
//     */
//    //日计划模板文件
//
//    public static String DAILY_TEMPLATE;
//    @Value("${dailyTemplateFile}")
//    public void setDailyTemplateFile(String dailyTemplateFile) {
//        DAILY_TEMPLATE = dailyTemplateFile;
//    }
//    //周计划模板文件
//
//    public static String WEEKLY_TEMPLATE;
//    @Value("${weeklyTemplateFile}")
//    public void setWeeklyTemplateFile(String weeklyTemplateFile) {
//        WEEKLY_TEMPLATE = weeklyTemplateFile;
//    }
//
//    //月计划模板文件
//
//    public static String MONTHLY_TEMPLATE;
//    @Value("${monthlyTemplateFile}")
//    public void setMonthlyTemplateFile(String monthlyTemplateFile) {
//        MONTHLY_TEMPLATE = monthlyTemplateFile;
//    }



}
